Micron Document
<!DOCTYPE html>
<html class="client-nojs vector-feature-language-in-header-enabled vector-feature-language-in-main-page-header-disabled vector-feature-page-tools-pinned-disabled vector-feature-toc-pinned-clientpref-0 vector-toc-not-available vector-feature-main-menu-pinned-disabled vector-feature-limited-width-clientpref-1 vector-feature-limited-width-content-enabled vector-feature-custom-font-size-clientpref-1 vector-feature-appearance-pinned-clientpref-0 skin-theme-clientpref-day vector-sticky-header-enabled" lang="de" dir="ltr"><head>
<meta charset="UTF-8">
<title>Lightweight Java Game Library</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<link rel="icon" type="image/png" href="./_res_/favicon.png">
<link rel="canonical" href="https://de.wikipedia.org/wiki/Lightweight_Java_Game_Library"> <link href="./_mw_/ext.cite.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.wikimediamessages.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.icons.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.search.codex.styles.css" rel="stylesheet" type="text/css">
<link href="./_mw_/skins.vector.styles.css" rel="stylesheet" type="text/css">
<meta name="ResourceLoaderDynamicStyles" content="">
<link href="./_mw_/ext.gadget.citeRef.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.defaultPlainlinks.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonHide.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonLayout.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiCommonStyle.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiDarkmode.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.dewikiResponsive.css" rel="stylesheet" type="text/css">
<link href="./_mw_/ext.gadget.specialSearch.css" rel="stylesheet" type="text/css">
<link rel="stylesheet" type="text/css" href="./_mw_/site.styles.css">
<link rel="stylesheet" type="text/css" href="./_mw_/noscript.css">
<link rel="stylesheet" type="text/css" href="./_res_/footer.css">
<link rel="stylesheet" type="text/css" href="./_res_/vector-2022.css">
</head>
<body class="skin--responsive skin-vector skin-vector-search-vue mediawiki ltr sitedir-ltr mw-hide-empty-elt ns-0 ns-subject page-Lightweight_Java_Game_Library rootpage-Lightweight_Java_Game_Library skin-vector-2022 action-view">
<div class="mw-page-container">
<div class="mw-page-container-inner">
<div class="mw-content-container">
<main id="content" class="mw-body">
<header class="mw-body-header vector-page-titlebar">
<h1 id="firstHeading" class="firstHeading mw-first-heading"><span class="mw-page-title-main">Lightweight Java Game Library</span></h1>
</header>
<a id="top"></a>
<div id="bodyContent" class="vector-body ve-init-mw-desktopArticleTarget-targetContainer" aria-labelledby="firstHeading" data-mw-ve-target-container="">
<div id="contentSub">
<div id="mw-content-subtitle"></div>
</div>
<div id="mw-content-text" class="mw-body-content mw-content-ltr" lang="de" dir="ltr"><div class="mw-content-ltr mw-parser-output" lang="de" dir="ltr"><table class="float-right infobox toccolours toptextcells" style="border-spacing:5px; font-size:90%; text-align:left; width:21em;">

<tbody><tr>
<th colspan="2" class="hintergrundfarbe6" style="font-size:105%; text-align:center;">Lightweight Java Game Library
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td colspan="2" class="notheme" style="text-align:center; background-color:#f8f9fa;"><span typeof="mw:File"></span>
</td></tr>
<tr>
<th colspan="2" class="hintergrundfarbe5" style="font-size:105%; text-align:center;">Basisdaten
<p class="mw-empty-elt">
</p>
</th></tr>
<tr>
<td><b><a href="Softwareentwickler" title="Softwareentwickler">Entwickler</a></b>
</td>
<td>Ioannis Tsakpinis und das LWJGL Team
</td></tr>
<tr>
<td><b>Aktuelle&nbsp;<a href="Version_(Software)" title="Version (Software)">Version</a></b>
</td>
<td><span class="wikidata-content">3.3.6<sup id="cite_ref-_c690a6bcb47790b6_1-0" class="reference"><a href="#cite_note-_c690a6bcb47790b6-1"><span class="cite-bracket">[</span>1<span class="cite-bracket">]</span></a></sup></span> <br> (<span class="wikidata-content">4. Januar 2025</span>)
</td></tr>
<tr>
<td><b><a href="Betriebssystem" title="Betriebssystem">Betriebssystem</a></b>
</td>
<td><a href="Plattformunabh%C3%A4ngig" class="mw-redirect" title="Plattformunabhängig">plattformunabhängig</a>
</td></tr>
<tr>
<td><b><a href="Programmiersprache" title="Programmiersprache">Programmier­sprache</a></b>
</td>
<td><a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a>
</td></tr>
<tr>
<td><b>Lizenz</b>
</td>
<td><a href="BSD-Lizenz" title="BSD-Lizenz">BSD-Lizenz</a>
</td></tr>
<tr>
<td class="hintergrundfarbe5" colspan="2" style="text-align:center;"><a rel="nofollow" class="external text" href="https://www.lwjgl.org/">www.lwjgl.org</a>
</td></tr></tbody></table>
<p>Die <b>Lightweight Java Game Library</b> (LWJGL) ist eine <a href="Programmbibliothek" title="Programmbibliothek">Programmbibliothek</a> für die <a href="Programmiersprache" title="Programmiersprache">Programmiersprache</a> <a href="Java_(Programmiersprache)" title="Java (Programmiersprache)">Java</a> mit dem Fokus auf Spieleentwicklung.
Mithilfe von LWJGL kann ein Java-Programmierer auf <a href="OpenGL" title="OpenGL">OpenGL</a>-, <a href="OpenAL" title="OpenAL">OpenAL</a>- und <a href="OpenCL" title="OpenCL">OpenCL</a>-Funktionen zugreifen. OpenGL wird bis Version 4.5 mit den wichtigsten Extensions unterstützt, OpenAL ist bis Version 1.1 implementiert, OpenCL ist bis Version 2.0 implementiert. Seit späteren Alpha-Versionen besteht ebenfalls die Möglichkeit zur Verwendung von <a href="DevIL" title="DevIL">DevIL</a> zum Laden und Bearbeiten von Bildern und <a href="FMOD_(Musik-Bibliothek)" title="FMOD (Musik-Bibliothek)">FMOD</a> zum Laden und Abspielen von Musikdateien. Die DevIL- und FMOD-Unterstützung wurde mit LWJGL 1.0 allerdings wieder entfernt. Die Begründung liegt darin, dass DevIL-Methoden auch in Java implementiert werden könnten und für FMOD bereits andere Implementierungen in Java vorliegen. – LWJGL unterstützt außerdem die Behandlung von <a href="Tastatur" title="Tastatur">Tastatur</a>-, <a href="Maus_(Computer)" class="mw-redirect" title="Maus (Computer)">Maus</a>- und Controllereingaben (<a href="Joystick" title="Joystick">Joystick</a>, <a href="Gamepad" title="Gamepad">Gamepad</a>, <a href="Paddle_(Eingabeger%C3%A4t)" title="Paddle (Eingabegerät)">Paddle</a>, …). Damit ist LWJGL eine plattformunabhängige Alternative zu <a href="Microsoft" title="Microsoft">Microsoft</a> <a href="DirectX" title="DirectX">DirectX</a>.
</p><p>Seit dem 13. November 2014 wird an der komplett neu entwickelten Version LWJGL 3.0 gearbeitet. In dieser wurden unter anderem GLFW für die Kontext-, Fenstererstellung und Eingabefunktionen eingebunden, sowie <i>stb</i> für das Laden von Bildern, Schriftarten und <a href="Ogg_Vorbis" class="mw-redirect" title="Ogg Vorbis">Ogg Vorbis</a>. Während der Beta-Phase wurden Bindungen für <a href="EGL_(Programmierschnittstelle)" title="EGL (Programmierschnittstelle)">EGL</a> und <a href="OpenGL_ES" class="mw-redirect" title="OpenGL ES">OpenGL ES</a> eingefügt. In einem zukünftigen Update sollen noch Bindungen für <a href="Vulkan_(API)" title="Vulkan (API)">Vulkan</a> eingefügt werden.<sup id="cite_ref-2" class="reference"><a href="#cite_note-2"><span class="cite-bracket">[</span>2<span class="cite-bracket">]</span></a></sup> Da LWJGL3 modular aufgebaut ist, wird möglicherweise <a href="AMD_Mantle" title="AMD Mantle">Mantle</a> und <a href="Direct3D" title="Direct3D">Direct3D</a> zusätzlich unterstützt.<sup id="cite_ref-3" class="reference"><a href="#cite_note-3"><span class="cite-bracket">[</span>3<span class="cite-bracket">]</span></a></sup>
</p><p>Die Bibliothek steht unter einer <a href="BSD-Lizenz" title="BSD-Lizenz">BSD-Lizenz</a>, darf also frei verwendet werden, und wurde von Caspian Rychlik-Prince, einem Mitglied von PuppyGames, initiiert.
</p>

<div class="mw-heading mw-heading2"><h2 id="Ziele">Ziele</h2></div>
<p>Der Entwurf von LWJGL wurde hinsichtlich folgender Ziele optimiert:<sup id="cite_ref-4" class="reference"><a href="#cite_note-4"><span class="cite-bracket">[</span>4<span class="cite-bracket">]</span></a></sup>
</p>
<dl><dt>Geschwindigkeit</dt>
<dd>Beispielsweise durch Entfernung von Methoden, die für effiziente <a href="C_(Programmiersprache)" title="C (Programmiersprache)">C</a>-Programmierung gedacht waren, aber für Java nicht geeignet sind, wie zum Beispiel <code>glColor3fv</code>. Sicherstellung beim Start, dass Hardware-Beschleunigung verfügbar ist.</dd>
<dt>Portabilität</dt>
<dd>Die Bibliothek wurde so entworfen, dass sie sowohl auf kleinen Geräten wie <a href="Mobiltelefon" title="Mobiltelefon">Handys</a> als auch auf <a href="Mehrprozessorsystem" title="Mehrprozessorsystem">Multiprozessor</a>-<a href="Bildsynthese" title="Bildsynthese">Rendering</a>-<a href="Server" title="Server">Servern</a> läuft.</dd>
<dt>Einfachheit</dt>
<dd>Die Bibliothek wurde so entwickelt, dass sie sowohl für Anfänger leicht zu benutzen ist, als auch für Profis, die damit professionelle Anwendungen entwickeln möchten.</dd>
<dt>Minimalismus</dt>
<dd>Damit die Portabilität bestehen bleibt, ist es hilfreich, wenn die <a href="Programmierschnittstelle" title="Programmierschnittstelle">API</a> klein ist. Ein minimaler Umfang an Funktionen ermöglicht eine bessere Übersicht über die Möglichkeiten und führt zu weniger Fehlern im Code. Es wurden nur Methoden in die Library aufgenommen, die nicht direkt mit Java ausgeführt werden können, weshalb auch <a href="OpenGL_Utility_Library" title="OpenGL Utility Library">GLU</a> bis auf einige wichtige Methoden entfernt wurde.</dd>
<dt>Sicherheit</dt>
<dd>Es werden keine <a href="Zeiger_(Informatik)" title="Zeiger (Informatik)">Pointer</a>, sondern <a href="Puffer_(Informatik)" title="Puffer (Informatik)">Buffer</a> verwendet. Die Buffer-Positionen werden allerdings überprüft, um sicherzustellen, dass die Werte innerhalb des erlaubten Bereichs liegen.</dd>
<dt>Robustheit</dt>
<dd>OpenGL-Fehlerüberprüfung werden im Java-Code abgebildet anstatt in einer separaten <a href="Dynamic_Link_Library" title="Dynamic Link Library">DLL</a>. Dabei handelt es sich um <a href="Laufzeitfehler" title="Laufzeitfehler">Runtime-Exceptions</a> statt <a href="Ausnahmebehandlung#Checked_Exceptions" title="Ausnahmebehandlung">Checked-Exceptions</a> (damit weniger <a href="Ausnahmebehandlung" title="Ausnahmebehandlung">try-catch-Anweisungen</a> nötig sind).</dd></dl>
<div class="mw-heading mw-heading2"><h2 id="Alternativen">Alternativen</h2></div>
<ul><li><a href="JOGL" title="JOGL">JOGL</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Auf_LWJGL_aufbauende_Software">Auf LWJGL aufbauende Software</h2></div>
<p>LWJGL wird von einer Reihe von Programmen, insbesondere Computerspielen verwendet.<sup id="cite_ref-5" class="reference"><a href="#cite_note-5"><span class="cite-bracket">[</span>5<span class="cite-bracket">]</span></a></sup> Dazu zählen <a href="Minecraft" title="Minecraft">Minecraft</a>, Tribal Trouble oder Sokobano.
</p>
<div class="mw-heading mw-heading2"><h2 id="Weblinks">Weblinks</h2></div>
<ul><li><a rel="nofollow" class="external text" href="http://lwjgl.org/wiki/">Legacy LWJGL-Wiki (bis Version 2.9.3)</a></li>
<li><a rel="nofollow" class="external text" href="https://github.com/LWJGL/lwjgl3">LWJGL3-Projekt auf GitHub</a></li>
<li><a rel="nofollow" class="external text" href="https://github.com/LWJGL/lwjgl3-wiki/wiki">LWJGL3-Wiki auf GitHub</a></li></ul>
<div class="mw-heading mw-heading2"><h2 id="Einzelnachweise">Einzelnachweise</h2></div>
<ol class="references">
<li id="cite_note-_c690a6bcb47790b6-1"><span class="mw-cite-backlink"><a href="#cite_ref-_c690a6bcb47790b6_1-0">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://github.com/LWJGL/lwjgl3/releases/tag/3.3.6"><cite style="font-style:italic"><span lang="en">Release 3.3.6</span></cite>.</a> 4.&nbsp;Januar 2025 (abgerufen am 26.&nbsp;Januar 2025).</span>
</li>
<li id="cite_note-2"><span class="mw-cite-backlink"><a href="#cite_ref-2">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://www.lwjgl.org/#start">LWJGL3 - Main Features</a></span>
</li>
<li id="cite_note-3"><span class="mw-cite-backlink"><a href="#cite_ref-3">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="http://blog.lwjgl.org/lwjgl-3-0a-released/">LWJGL 3.0.0a released</a>, 27. April 2015</span>
</li>
<li id="cite_note-4"><span class="mw-cite-backlink"><a href="#cite_ref-4">↑</a></span> <span class="reference-text"><style data-mw-deduplicate="TemplateStyles:r261891140">
/* start https://de.wikipedia.org/ */


.mw-parser-output .webarchiv-memento a{color:inherit}


/* end https://de.wikipedia.org/ */
</style><a rel="nofollow" class="external text" href="https://web.archive.org/web/20160304223011/http://legacy.lwjgl.org/about.php">About LWJGL</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <style data-mw-deduplicate="TemplateStyles:r250917974">
/* start https://de.wikipedia.org/ */


.mw-parser-output .dewiki-iconexternal>a{background-position:center right!important;background-repeat:no-repeat!important}body.skin-minerva .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/OOjs_UI_icon_external-link-ltr-progressive.svg")!important;background-size:10px!important;padding-right:13px!important}body.skin-timeless .mw-parser-output .dewiki-iconexternal>a,body.skin-monobook .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/MediaWiki_external_link_icon.svg")!important;padding-right:13px!important}body.skin-vector .mw-parser-output .dewiki-iconexternal>a{background-image:url("./_mw_/Link.ernal-small-ltr-progressive.svg")!important;background-size:0.857em!important;padding-right:1em!important}


/* end https://de.wikipedia.org/ */
</style><span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Flegacy.lwjgl.org%2Fabout.php">Originals</a></span> vom 4. März 2016 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://legacy.lwjgl.org/about.php">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://legacy.lwjgl.org/about.php">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/legacy.lwjgl.org</span></span>
</li>
<li id="cite_note-5"><span class="mw-cite-backlink"><a href="#cite_ref-5">↑</a></span> <span class="reference-text"><a rel="nofollow" class="external text" href="https://web.archive.org/web/20151110034437/http://legacy.lwjgl.org/projects.php">LWJGL Projects</a> (<span class="webarchiv-memento"><a href="Webarchivierung#Begrifflichkeiten" title="Webarchivierung">Memento</a></span> des <span class="dewiki-iconexternal"><a class="external text" href="https://redirecter.toolforge.org/?url=http%3A%2F%2Flegacy.lwjgl.org%2Fprojects.php">Originals</a></span> vom 10. November 2015 im <i><a href="Internet_Archive" title="Internet Archive">Internet Archive</a></i>) <small class="archiv-bot"><span class="wp_boppel noviewer" aria-hidden="true" role="presentation"><span typeof="mw:File"><span title="i"></span></span></span>&nbsp;<b>Info:</b> Der Archivlink wurde automatisch eingesetzt und noch nicht geprüft. Bitte prüfe Original- und Archivlink gemäß Anleitung und entferne dann diesen Hinweis.</small><span style="display:none"><a rel="nofollow" class="external text" href="http://IABotmemento.invalid/http://legacy.lwjgl.org/projects.php">@1</a></span><span style="display:none"><a rel="nofollow" class="external text" href="http://legacy.lwjgl.org/projects.php">@2</a></span><span style="display:none">Vorlage:Webachiv/IABot/legacy.lwjgl.org</span></span>
</li>
</ol></div><!--htdig_noindex--><div><div class="zim-footer">
Dieser Artikel wurde von <a class="external text" title="Zuletzt bearbeitet am 2022-05-02" href="https://de.wikipedia.org/wiki/?title=Lightweight_Java_Game_Library&amp;oldid=222556997">Wikipedia</a> herausgegeben. Der Text ist unter <a class="external text" href="https://creativecommons.org/licenses/by-sa/4.0/deed.de">Creative Commons Attribution-Share Alike 4.0</a> verfügbar, sofern nicht anders angegeben. Für die Mediendateien können zusätzliche Bedingungen gelten.
</div>
</div><!--/htdig_noindex--></div>
</div>
</main>
</div>
</div>
</div>
<script src="./_webp_/webpHandler.js"></script>

</body></html>